入门 您所在的位置:网站首页 entiy framework 入门

入门

#入门| 来源: 网络整理| 查看: 265

EF Core 入门 项目 01/10/2023

在本教程中,将创建一个 .NET Core 控制台应用,该应用使用 Entity Framework Core 对 SQLite 数据库执行数据访问。

你可在 Windows 上使用 Visual Studio,或在 Windows、macOS 或 Linux 上使用 .NET Core CLI 来学习本教程。

在 GitHub 上查看此文章的示例。

先决条件

安装以下软件:

.NET Core CLI Visual Studio .NET Core SDK。 对于此工作负载,建议采用 Visual Studio 2019 版本 16.3 或更高版本: “.NET Core 跨平台开发”(位于“其他工具集”下) 创建新项目 .NET Core CLI Visual Studio dotnet new console -o EFGetStarted cd EFGetStarted 打开 Visual Studio 单击“创建新项目” 选择带有 C# 标记的“控制台应用 (.NET Core)” ,然后单击“下一步” 输入“EFGetStarted”作为名称,然后单击“创建” 安装 Entity Framework Core

要安装 EF Core,请为要作为目标对象的 EF Core 数据库提供程序安装程序包。 本教程使用 SQLite 的原因是,它可在 .NET Core 支持的所有平台上运行。 有关可用提供程序的列表,请参阅数据库提供程序。

.NET Core CLI Visual Studio dotnet add package Microsoft.EntityFrameworkCore.Sqlite

“工具”>“NuGet 包管理器”>“包管理器控制台”。

运行以下命令:

Install-Package Microsoft.EntityFrameworkCore.Sqlite

提示:还可以通过右键单击项目并选择“管理 NuGet 程序包”来安装包

创建模型

定义构成模型的上下文类和实体类。

.NET Core CLI Visual Studio 在项目文件夹中,使用以下代码创建 Model.cs 右键单击项目,然后选择“添加”>“类” 输入“Model.cs”作为名称,然后单击“添加” 将此文件的内容替换为以下代码 using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; public class BloggingContext : DbContext { public DbSet Blogs { get; set; } public DbSet Posts { get; set; } public string DbPath { get; } public BloggingContext() { var folder = Environment.SpecialFolder.LocalApplicationData; var path = Environment.GetFolderPath(folder); DbPath = System.IO.Path.Join(path, "blogging.db"); } // The following configures EF to create a Sqlite database file in the // special "local" folder for your platform. protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlite($"Data Source={DbPath}"); } public class Blog { public int BlogId { get; set; } public string Url { get; set; } public List Posts { get; } = new(); } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public Blog Blog { get; set; } }

EF Core 还可以从现有数据库对模型进行反向工程。

提示:为清楚起见,有意简化了此应用程序。 连接字符串不应存储在生产应用程序的代码中。 可能还需要将每个 C# 类拆分为其自己的文件。

创建数据库

以下步骤使用迁移创建数据库。

.NET Core CLI Visual Studio

运行以下命令:

dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet ef migrations add InitialCreate dotnet ef database update

这会安装 dotnet ef 和设计包,这是对项目运行命令所必需的。 migrations 命令为迁移搭建基架,以便为模型创建一组初始表。 database update 命令创建数据库并向其应用新的迁移。

在“包管理器控制台(PMC)”中,运行以下命令

Install-Package Microsoft.EntityFrameworkCore.Tools Add-Migration InitialCreate Update-Database

这会安装 EF Core 的 PMC 工具。 Add-Migration 命令为迁移搭建基架,以便为模型创建一组初始表。 Update-Database 命令创建数据库并向其应用新的迁移。

创建、读取、更新和删除

打开 Program.cs 并将内容替换为以下代码:

using System; using System.Linq; using var db = new BloggingContext(); // Note: This sample requires the database to be created before running. Console.WriteLine($"Database path: {db.DbPath}."); // Create Console.WriteLine("Inserting a new blog"); db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); db.SaveChanges(); // Read Console.WriteLine("Querying for a blog"); var blog = db.Blogs .OrderBy(b => b.BlogId) .First(); // Update Console.WriteLine("Updating the blog and adding a post"); blog.Url = "https://devblogs.microsoft.com/dotnet"; blog.Posts.Add( new Post { Title = "Hello World", Content = "I wrote an app using EF Core!" }); db.SaveChanges(); // Delete Console.WriteLine("Delete the blog"); db.Remove(blog); db.SaveChanges(); 运行应用 .NET Core CLI Visual Studio dotnet run

“调试”>“开始执行(不调试)”

后续步骤 按照 ASP.NET Core 教程在 Web 应用中使用 EF Core 了解有关 LINQ 查询表达式的详细信息 配置模型指定必需项和最大长度等内容 在更改模型后使用迁移来更新数据库架构


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有